option('force-32-bit', type: 'boolean', value: false, yield: true,
    description: 'Force 32-bit compilation for libcpp')
option('disable-rtti', type : 'boolean', value: false, yield: true)
option('disable-exceptions', type : 'boolean', value: false, yield: true)
option('enable-pedantic', type: 'boolean', value: false, yield: true,
    description: 'Enable pedantic warnings')
option('enable-pedantic-error', type: 'boolean', value: false, yield: true,
    description: 'Enable pedantic warnings and make them errors.')
option('enable-threading', type: 'boolean', value: true, yield: true)
option('libcxx-use-compiler-rt', type: 'boolean', value: false, yield: true,
    description: 'Use compiler-rt to supply builtin functionality')
option('libcxx-use-llvm-libunwind', type: 'boolean', value: true, yield: true)
option('libcxx-thread-library', type: 'combo', choices: ['', 'none', 'pthread', 'ea-framework'], value: 'pthread', yield: true)
option('libcxx-has-external-thread-api', type: 'boolean', value: false, yield: true)
option('libcxx-build-external-thread-api', type: 'boolean', value: false, yield: true)
option('libcxx-enable-chrono', type: 'boolean', value: true, yield: true)
option('libcxx-enable-filesystem', type: 'boolean', value: false, yield: true)
option('libcxx-enable-stdinout', type: 'boolean', value: true, yield: true)
option('libcxx-default-newdelete', type: 'boolean', value: true, yield: true)
option('libcxx-silent-terminate', type: 'boolean', value: true, yield: true)
option('libcxx-monotonic-clock', type: 'boolean', value: true, yield: true)
option('use-libc-subproject', type: 'boolean', value: false, yield: true,
    description: 'When true, use the subproject defined in the libc-subproject option. An alternate approach is to override c_stdlib in your cross files.')
option('libc-subproject', type: 'array',
    value: ['libc', 'libc_dep', 'libc_hosted_native_dep'],
    yield: true,
    description: 'This array is used in combination with use-libc-subproject. The first entry is the subproject name. The second is the cross-compilation dependency to use. The third value is optional. If used, it is a native dependency to use with native library targets.')
